package 蓝桥真题;

public class 算式问题 {
       static int path[]=new int[10],n=9,res;
       static boolean st[]=new boolean[10];
	   static void dfs(int d){
		      if(d==n){
		    	  int a=1,b=1,c=1;
		    	  String t="";
		    	  for(int i=0;i<=2;i++)
		    		  t=t+path[i];
		    	  a=Integer.parseInt(t);
		    	  t="";
		    	  for(int i=3;i<=5;i++)
		    		  t=t+path[i];
		    	  b=Integer.parseInt(t);
		    	  t="";
		    	  for(int i=6;i<=8;i++)
		    		  t=t+path[i];
		    	  c=Integer.parseInt(t);
		    	  if(a+b==c){
		    		  res++;
		    		
		    	  }
		    	  return;
		      }
		      for(int i=1;i<=9;i++){
		    	  if(!st[i]){
		    		  st[i]=true;
		    		  path[d]=i;
		    		  dfs(d+1);
		    		  st[i]=false;
		    	  }
		      }
	   }
	   public static void main(String[] args) {
		      dfs(0);
		      System.out.print(res);
	}
}
